home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-05 / drivers1.zip / 8250DEFS.ASM < prev    next >
Assembly Source File  |  1992-01-17  |  3KB  |  90 lines

  1. ;8250 definitions
  2. ;Control/status register offsets from base address
  3. THR    equ    0        ;Transmitter holding register
  4. RBR    equ    0        ;Receiver buffer register
  5. DLL    equ    0        ;Divisor latch LSB
  6. DLM    equ    1        ;Divisor latch MSB
  7. IER    equ    1        ;Interrupt enable register
  8. IIR    equ    2        ;Interrupt ident register
  9. FCR    equ    2        ;16550 FIFO control register
  10. LCR    equ    3        ;Line control register
  11. MCR    equ    4        ;Modem control register
  12. LSR    equ    5        ;Line status register
  13. MSR    equ    6        ;Modem status register
  14.  
  15. ;8250 Line Control Register
  16. LCR_5BITS    equ    0    ;5 bit words
  17. LCR_6BITS    equ    1    ;6 bit words
  18. LCR_7BITS    equ    2    ;7 bit words
  19. LCR_8BITS    equ    3    ;8 bit words
  20. LCR_NSB        equ    4    ;Number of stop bits
  21. LCR_PEN        equ    8    ;Parity enable
  22. LCR_EPS        equ    10h    ;Even parity select
  23. LCR_SP        equ    20h    ;Stick parity
  24. LCR_SB        equ    40h    ;Set break
  25. LCR_DLAB    equ    80h    ;Divisor Latch Access Bit
  26.  
  27. ;16550 FIFO control register values
  28. FIFO_ENABLE     equ     001h    ;Enable TX and RX fifo
  29. FIFO_CLR_RX     equ     002h    ;Clear RX fifo
  30. FIFO_CLR_TX     equ     004h    ;Clear TX fifo
  31. FIFO_START_DMA  equ     008h    ;Enable TXRDY/RXRDY pin DMA handshake
  32. FIFO_SIZE_1     equ     000h    ;RX fifo trigger levels
  33. FIFO_SIZE_4     equ     040h
  34. FIFO_SIZE_8     equ     080h
  35. FIFO_SIZE_14    equ     0c0h
  36. FIFO_SIZE_MASK  equ     0c0h
  37.  
  38. FIFO_TRIGGER_LEVEL equ FIFO_SIZE_4
  39. FIFO_SETUP         equ FIFO_ENABLE+FIFO_CLR_RX+FIFO_CLR_TX+FIFO_TRIGGER_LEVEL
  40. OUTPUT_FIFO_SIZE   equ 16
  41.  
  42. ;8250 Line Status Register
  43. LSR_DR    equ    1    ;Data ready
  44. LSR_OE    equ    2    ;Overrun error
  45. LSR_PE    equ    4    ;Parity error
  46. LSR_FE    equ    8    ;Framing error
  47. LSR_BI    equ    10h    ;Break interrupt
  48. LSR_THRE equ    20h    ;Transmitter line holding register empty
  49. LSR_TSRE equ    40h    ;Transmitter shift register empty
  50.  
  51. ;8250 Interrupt Identification Register
  52. IIR_IP        equ    1    ;0 if interrupt pending
  53. IIR_ID        equ    6    ;Mask for interrupt ID
  54. IIR_RLS        equ    6    ;Receiver Line Status interrupt
  55. IIR_RDA        equ    4    ;Receiver data available interrupt
  56. IIR_THRE    equ    2    ;Transmitter holding register empty int
  57. IIR_MSTAT    equ    0    ;Modem status interrupt
  58. IIR_FIFO_TIMEOUT  equ   008h    ;FIFO timeout interrupt pending - 16550 only
  59. IIR_FIFO_ENABLED  equ   080h    ;FIFO enabled (FCR0 = 1) - 16550 only
  60.  
  61. ;8250 interrupt enable register bits
  62. IER_DAV    equ    1    ;Data available interrupt
  63. IER_TxE    equ    2    ;Tx buffer empty interrupt
  64. IER_RLS    equ    4    ;Receive line status interrupt
  65. IER_MS    equ    8    ;Modem status interrupt
  66.  
  67. ;8250 Modem control register
  68. MCR_DTR    equ    1    ;Data Terminal Ready
  69. MCR_RTS    equ    2    ;Request to Send
  70. MCR_OUT1 equ    4    ;Out 1 (not used)
  71. MCR_OUT2 equ    8    ;Master interrupt enable (actually OUT 2)
  72. MCR_LOOP equ    10h    ;Loopback test mode
  73.  
  74. ;8250 Modem Status Register
  75. MSR_DCTS equ    1    ;Delta Clear-to-Send
  76. MSR_DDSR equ    2    ;Delta Data Set Ready
  77. MSR_TERI equ    4    ;Trailing edge ring indicator
  78. MSR_DRLSD equ    8    ;Delta Rx Line Signal Detect
  79. MSR_CTS equ    10h    ;Clear to send
  80. MSR_DSR equ    20h    ;Data set ready
  81. MSR_RI    equ    40h    ;Ring indicator
  82. MSR_RLSD equ    80h    ;Received line signal detect
  83.  
  84. pr_ch_al    macro        alvalue
  85. ifdef TRACEON
  86.     mov    al,alvalue
  87.     call    pr_ch
  88. endif
  89.     endm
  90.